html {
    /* The nav header is 4.40625rem high, plus 20px for the margin-top of the
       main container. */
    scroll-padding-top: calc(4.40625rem + 20px);
}

body > .container {
    margin-top: 20px;
}

.navbar.fixed-top {
    position: -webkit-sticky;
    position: sticky;
}

.source-links {
    float: right;
}

.col-md-9 img {
    max-width: 100%;
}

pre, code {
    background: #e9ecef;
    color: #000;
    border: 1px solid rgba(0,0,0,0.125);
    border-radius: 0.25rem;
}

pre {
    padding: 0.5em;
}

code {
    padding: 1px 3px;
}

pre code {
    border: none;
    /* Override styles from hljs theme */
    background: transparent !important;
    padding: 0 !important;
}

a code {
    color: #18bc9c;
}

a:hover code {
    color: #0f7864;
}

kbd {
    padding: 2px 4px;
    font-size: 90%;
    color: #fff;
    background-color: #333;
    border-radius: 3px;
    -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
}

footer {
    margin-top: 30px;
    margin-bottom: 10px;
    text-align: center;
    font-weight: 200;
}

.modal-dialog {
    margin-top: 70px;
}

/* Style the admonitions. */

.admonition {
    margin-bottom: 1rem;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 0.25rem;
}

.admonition > .admonition-title {
    margin: 0;
    padding: 0.75rem 1rem;
    background: rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
    font-size: 1rem;
}

.admonition > * {
    margin-left: 1rem;
    margin-right: 1rem;
}

.admonition > *:not(.admonition-title):first-of-type,
.admonition > .admonition-title + * {
    margin-top: 1rem;
}

.admonition > *:last-child {
    margin-bottom: 1rem;
}

/* Style each kind of admonition. */

.admonition.note, .admonition.note > .admonition-title {
    border-color: #3498db;
}

.admonition.note > .admonition-title {
    color: #fff;
    background-color: #3498db;
}

.admonition.warning, .admonition.warning > .admonition-title {
    border-color: #f39c12;
}

.admonition.warning > .admonition-title {
    color: #fff;
    background-color: #f39c12;
}

.admonition.danger, .admonition.danger > .admonition-title {
    border-color: #e74c3c;
}

.admonition.danger > .admonition-title {
    color: #fff;
    background-color: #e74c3c;
}

/*
 * Side navigation
 *
 * Scrollspy and affixed enhanced navigation to highlight sections and secondary
 * sections of docs content.
 */

.bs-sidebar.affix {
    position: -webkit-sticky;
    position: sticky;
    /* The nav header is 4.40625rem high, plus 20px for the margin-top of the
       main container. */
    top: calc(4.40625rem + 20px);
}

.bs-sidebar.card {
    padding: 0;
}

.bs-sidebar > .card {
    background-color: #ecf0f1 !important;
}

/* Toggle (vertically flip) sidebar collapse icon */
.bs-sidebar .navbar-toggler span {
    -moz-transform: scale(1, -1);
    -webkit-transform: scale(1, -1);
    -o-transform: scale(1, -1);
    -ms-transform: scale(1, -1);
    transform: scale(1, -1);
}

.bs-sidebar .navbar-toggler.collapsed span {
    -moz-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
}

/* First level of nav */
.bs-sidebar > .navbar-collapse > .nav {
    padding-top:    10px;
    padding-bottom: 10px;
    border-radius: 5px;
    width: 100%;
}

/* All levels of nav */
.bs-sidebar .nav > li > a {
    display: block;
    padding: 5px 20px;
    z-index: 1;
}
.bs-sidebar .nav > li > a:hover,
.bs-sidebar .nav > li > a:focus {
    text-decoration: none;
    border-right: 1px solid;
}
.bs-sidebar .nav > li > a.active,
.bs-sidebar .nav > li > a.active:hover,
.bs-sidebar .nav > li > a.active:focus {
    font-weight: bold;
    background-color: transparent;
    border-right: 1px solid;
}

.bs-sidebar .nav .nav .nav {
    margin-left: 1em;
}

.bs-sidebar .nav > li > a {
    font-weight: bold;
}

.bs-sidebar .nav .nav > li > a {
    font-weight: normal;
}

.headerlink {
    display: none;
    padding-left: .5em;
}

h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink{
    display:inline-block;
}

@media (max-width: 991.98px) {
    .navbar-collapse.show {
        overflow-y: auto;
        max-height: calc(100vh - 4.40625rem);
    }
}

.dropdown-item.open {
    color: #fff;
    background-color: #2C3E50;
}

.dropdown-submenu > .dropdown-menu {
    margin: 0 0 0 1.5rem;
    padding: 0;
    border-width: 0;
}

.dropdown-submenu > a::after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}

.dropdown-submenu:hover > a::after {
    border-left-color: #fff;
}

@media (min-width: 992px) {
    .dropdown-menu {
        overflow-y: auto;
        max-height: calc(100vh - 4.40625rem);
    }

    .dropdown-submenu {
        position: relative;
    }

    .dropdown-submenu > .dropdown-menu {
        position: fixed !important;
        margin-top: -9px;
        margin-left: -2px;
        border-width: 1px;
        padding: 0.5rem 0;
    }
}
